iT邦幫忙

2022 iThome 鐵人賽

DAY 26
0
Modern Web

React應用記錄誌系列 第 26

Day26 MERN Stack - 2設定Server App

  • 分享至 

  • xImage
  •  

今天要使用nodejs設置Express App,通過Express App 建立一個旳後端api,供我們從前端react應用程序到後端數據庫mongoDB進行數據存取。

  1. 在VScode建立backend文件夾,在backend文件夾建立一個server.js檔案,它是後端應用程序的入口文件,是註冊express app的地方。

  2. (先安裝好nodejs)開啟終端機輸入npm init –y 初始化產生一個package.json,我們會在package.json裡自行設定scripts腳本。

3-1 安裝express,
3-2 在server.js檔案用require導入套件
3-3 存入express變數中產生app實例
3-4 路由設定app.get(第一個參數/根目錄,第二個參數是函數,處理request和respone返回訊息到server端)
3-5 設定監聽本地主機端口port。

npm install express
const express = require('express')
const  app = express()

app.get("/",(req,res)=>{
   res.send("Hello World")
})

app.listen(8000,()=>{
   console.log("Server is running at http://localhost:8000")
})

4 安裝nodemon包,我們每次要執行檔案需下指令node server.js,每當程式內容有更改,必需儲存再node server.js一次,nodemon讓我可以save後會自動更新網頁。

4-1 安裝 nodemon
4-2在package.json “scripts”新增 " start-dev ":"nodemon server.js"
4-3 在終端機輸入npm run start-dev,這樣程式中有進行更改時網頁會自動更新。

npm install –g nodemon
    "scripts": {
    " start-dev ":"nodemon server.js",
  }
npm run start-dev

5 設定環境變數,一般port number不採用硬編碼的方式,而且最後如要將檔案存到github的存儲庫時,可將環境變量保持隱藏狀態,這樣可以保護身份驗證等數據,所以會把端口變數存儲在環境變數中。

5-1 npm install dotenv
5-2 在backend文件夾建立一個.env文件,當我們將應用程式存到github中.env文件會被忽略。
5-3 在.env文件中設定port=8000(不要有空格,portnumber自行設定),
5-4 在server.js中導入,並更改監聽端口

npm install dotenv

.env

port=8000

server.js

   require (‘dotenv’).config()
      app.listen(process.env.PORT, ( ) =>{
     console.log(‘Server is running at http://localhost:’ , process.env.PORT)
})

上一篇
Day25 MERN Stack - 1
下一篇
Day27 MERN Stack – 3 設置Routes
系列文
React應用記錄誌31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言